package com.erp.erp_entitys.ShipmentPlan;

import java.math.BigDecimal;

/**
 * 出运计划产品
 * 
 * @date 2021-01-10
 */
public class ShipmentPlanProduct {
    /**
     * 主键
     */
    private Integer id;

    /**
     * 出运计划id
     */
    private Integer shipmentPlanId;

    /**
     * 采购id
     */
    private Integer purchaseId;

    /**
     * 采购单号(海外不可为空)
     */
    private String purchaseNo;

    /**
     * 产品id
     */
    private Integer productId;

    /**
     * 产品编码
     */
    private String productNo;

    /**
     * 规格编码
     */
    private String specNo;

    /**
     * 规格说明
     */
    private String normExplain;

    /**
     * 中文名称
     */
    private String chineseName;

    /**
     * 英文名称
     */
    private String englishName;

    /**
     * 中文描述
     */
    private String chineseDesc;

    /**
     * 英文描述
     */
    private String englishDesc;

    /**
     * 单位
     */
    private String unit;

    /**
     * 颜色
     */
    private String colour;

    /**
     * 数量
     */
    private BigDecimal amount;
    /**
     * 成品比例
     */
    private BigDecimal proportionFinishedProducts;
    /**
     * 配件比例
     */
    private BigDecimal partsFinishedProducts;

    /**
     * 配件成本
     */
    private BigDecimal accessoryCostPrice;



    /**
     * 金额小计
     */
    private BigDecimal priceSubtotal;

    /**
     * 未税单价
     */
    private BigDecimal untaxedPrice;

    /**
     * 未税金额小计
     */
    private BigDecimal untaxedPriceSubtotal;

    /**
     * 毛重
     */
    private BigDecimal grossWeight;

    /**
     * 毛重小计
     */
    private BigDecimal grossSubtotal;

    /**
     * 净重
     */
    private BigDecimal netWeight;

    /**
     * 净重小计
     */
    private BigDecimal netSubtotal;

    /**
     * 体积
     */
    private BigDecimal volume;

    /**
     * 托数
     */
    private BigDecimal trayNumber;

    /**
     * 每托量
     */
    private BigDecimal trayCapacity;

    /**
     * 件数
     */
    private BigDecimal numberOfPiece;
    /**
     * 销售合同号
     */
    private String salesContractNo;
    /**
     * 每件数量
     */
    private BigDecimal qty;

    /**
     * 供应商账期(与主表一致，不可修改)
     */
    private String payTime;

    /**
     * 成本单价
     */
    private BigDecimal costPrice;
    /**
     * 成本小计
     */
    private BigDecimal costPriceSubtotal;
    /**
     * 成品成本
     */
    private BigDecimal wholeCostPrice;

    /**
     * 配件成本
     */
    private BigDecimal price;

    /**
     * 供应商编码
     */
    private String supplierCode;
    /**
     * 供应商名称
     */
    private String supplierName;
    /**
     * 客户合同号
     */
    private String customerContractNo;

    /**
     * 外销合同号
     */
    private String exportContractNo;

    /**
     * 外包装长
     */
    private BigDecimal outPackLength;

    /**
     * 外包装宽
     */
    private BigDecimal outPackWidth;

    /**
     * 外包装高
     */
    private BigDecimal outPackHeight;

    /**
     * 外包装尺寸
     */
    private String outPackSize;

    /**
     * 外包装数量
     */
    private BigDecimal outPackNum;
    /**
     * 产品图片
     */
    private String img;
    /**
     * 类型：1：产品；2：部件
     */
    private String type;

    /**
     * 客户开票货物名称
     */
    private String customerInvoiceGoodsName;

    /**
     * 客户开票规格型号
     */
    private String customerInvoiceSpecModel;

    /**
     * 客户物料编码
     */
    private String customerMaterialsCode;

    /**
     * 备注
     */
    private String remark;

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public BigDecimal getProportionFinishedProducts() {
        return proportionFinishedProducts;
    }

    public void setProportionFinishedProducts(BigDecimal proportionFinishedProducts) {
        this.proportionFinishedProducts = proportionFinishedProducts;
    }

    public BigDecimal getPartsFinishedProducts() {
        return partsFinishedProducts;
    }

    public void setPartsFinishedProducts(BigDecimal partsFinishedProducts) {
        this.partsFinishedProducts = partsFinishedProducts;
    }

    public String getImg() {
        return img;
    }

    public void setImg(String img) {
        this.img = img;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getShipmentPlanId() {
        return shipmentPlanId;
    }

    public void setShipmentPlanId(Integer shipmentPlanId) {
        this.shipmentPlanId = shipmentPlanId;
    }

    public Integer getPurchaseId() {
        return purchaseId;
    }

    public void setPurchaseId(Integer purchaseId) {
        this.purchaseId = purchaseId;
    }

    public String getPurchaseNo() {
        return purchaseNo;
    }

    public void setPurchaseNo(String purchaseNo) {
        this.purchaseNo = purchaseNo == null ? null : purchaseNo.trim();
    }

    public Integer getProductId() {
        return productId;
    }

    public void setProductId(Integer productId) {
        this.productId = productId;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo == null ? null : productNo.trim();
    }

    public String getSpecNo() {
        return specNo;
    }

    public void setSpecNo(String specNo) {
        this.specNo = specNo == null ? null : specNo.trim();
    }

    public String getNormExplain() {
        return normExplain;
    }

    public void setNormExplain(String normExplain) {
        this.normExplain = normExplain == null ? null : normExplain.trim();
    }

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName == null ? null : chineseName.trim();
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName == null ? null : englishName.trim();
    }

    public String getChineseDesc() {
        return chineseDesc;
    }

    public void setChineseDesc(String chineseDesc) {
        this.chineseDesc = chineseDesc == null ? null : chineseDesc.trim();
    }

    public String getEnglishDesc() {
        return englishDesc;
    }

    public void setEnglishDesc(String englishDesc) {
        this.englishDesc = englishDesc == null ? null : englishDesc.trim();
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit == null ? null : unit.trim();
    }

    public String getColour() {
        return colour;
    }

    public void setColour(String colour) {
        this.colour = colour == null ? null : colour.trim();
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(BigDecimal costPrice) {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPriceSubtotal() {
        return costPriceSubtotal;
    }

    public void setCostPriceSubtotal(BigDecimal costPriceSubtotal) {
        this.costPriceSubtotal = costPriceSubtotal;
    }

    public BigDecimal getWholeCostPrice() {
        return wholeCostPrice;
    }

    public void setWholeCostPrice(BigDecimal wholeCostPrice) {
        this.wholeCostPrice = wholeCostPrice;
    }

    public BigDecimal getAccessoryCostPrice() {
        return accessoryCostPrice;
    }

    public void setAccessoryCostPrice(BigDecimal accessoryCostPrice) {
        this.accessoryCostPrice = accessoryCostPrice;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPriceSubtotal() {
        return priceSubtotal;
    }

    public void setPriceSubtotal(BigDecimal priceSubtotal) {
        this.priceSubtotal = priceSubtotal;
    }

    public BigDecimal getUntaxedPrice() {
        return untaxedPrice;
    }

    public void setUntaxedPrice(BigDecimal untaxedPrice) {
        this.untaxedPrice = untaxedPrice;
    }

    public BigDecimal getUntaxedPriceSubtotal() {
        return untaxedPriceSubtotal;
    }

    public void setUntaxedPriceSubtotal(BigDecimal untaxedPriceSubtotal) {
        this.untaxedPriceSubtotal = untaxedPriceSubtotal;
    }

    public BigDecimal getGrossWeight() {
        return grossWeight;
    }

    public void setGrossWeight(BigDecimal grossWeight) {
        this.grossWeight = grossWeight;
    }

    public BigDecimal getGrossSubtotal() {
        return grossSubtotal;
    }

    public void setGrossSubtotal(BigDecimal grossSubtotal) {
        this.grossSubtotal = grossSubtotal;
    }

    public BigDecimal getNetWeight() {
        return netWeight;
    }

    public void setNetWeight(BigDecimal netWeight) {
        this.netWeight = netWeight;
    }

    public BigDecimal getNetSubtotal() {
        return netSubtotal;
    }

    public void setNetSubtotal(BigDecimal netSubtotal) {
        this.netSubtotal = netSubtotal;
    }

    public BigDecimal getVolume() {
        return volume;
    }

    public void setVolume(BigDecimal volume) {
        this.volume = volume;
    }

    public BigDecimal getTrayNumber() {
        return trayNumber;
    }

    public void setTrayNumber(BigDecimal trayNumber) {
        this.trayNumber = trayNumber;
    }

    public BigDecimal getTrayCapacity() {
        return trayCapacity;
    }

    public void setTrayCapacity(BigDecimal trayCapacity) {
        this.trayCapacity = trayCapacity;
    }

    public BigDecimal getNumberOfPiece() {
        return numberOfPiece;
    }

    public void setNumberOfPiece(BigDecimal numberOfPiece) {
        this.numberOfPiece = numberOfPiece;
    }

    public BigDecimal getQty() {
        return qty;
    }

    public void setQty(BigDecimal qty) {
        this.qty = qty;
    }

    public String getPayTime() {
        return payTime;
    }

    public void setPayTime(String payTime) {
        this.payTime = payTime == null ? null : payTime.trim();
    }

    public String getSalesContractNo() {
        return salesContractNo;
    }

    public void setSalesContractNo(String salesContractNo) {
        this.salesContractNo = salesContractNo == null ? null : salesContractNo.trim();
    }

    public String getSupplierCode() {
        return supplierCode;
    }

    public void setSupplierCode(String supplierCode) {
        this.supplierCode = supplierCode == null ? null : supplierCode.trim();
    }

    public String getCustomerContractNo() {
        return customerContractNo;
    }

    public void setCustomerContractNo(String customerContractNo) {
        this.customerContractNo = customerContractNo == null ? null : customerContractNo.trim();
    }

    public String getExportContractNo() {
        return exportContractNo;
    }

    public void setExportContractNo(String exportContractNo) {
        this.exportContractNo = exportContractNo == null ? null : exportContractNo.trim();
    }

    public BigDecimal getOutPackLength() {
        return outPackLength;
    }

    public void setOutPackLength(BigDecimal outPackLength) {
        this.outPackLength = outPackLength;
    }

    public BigDecimal getOutPackWidth() {
        return outPackWidth;
    }

    public void setOutPackWidth(BigDecimal outPackWidth) {
        this.outPackWidth = outPackWidth;
    }

    public BigDecimal getOutPackHeight() {
        return outPackHeight;
    }

    public void setOutPackHeight(BigDecimal outPackHeight) {
        this.outPackHeight = outPackHeight;
    }

    public String getOutPackSize() {
        return outPackSize;
    }

    public void setOutPackSize(String outPackSize) {
        this.outPackSize = outPackSize;
    }

    public BigDecimal getOutPackNum() {
        return outPackNum;
    }

    public void setOutPackNum(BigDecimal outPackNum) {
        this.outPackNum = outPackNum;
    }


    public String getCustomerInvoiceGoodsName() {
        return customerInvoiceGoodsName;
    }

    public void setCustomerInvoiceGoodsName(String customerInvoiceGoodsName) {
        this.customerInvoiceGoodsName = customerInvoiceGoodsName;
    }

    public String getCustomerInvoiceSpecModel() {
        return customerInvoiceSpecModel;
    }

    public void setCustomerInvoiceSpecModel(String customerInvoiceSpecModel) {
        this.customerInvoiceSpecModel = customerInvoiceSpecModel;
    }

    public String getCustomerMaterialsCode() {
        return customerMaterialsCode;
    }

    public void setCustomerMaterialsCode(String customerMaterialsCode) {
        this.customerMaterialsCode = customerMaterialsCode;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("ShipmentPlanProduct").append('[')
                .append("id=")
                .append(id)
                .append(",shipmentPlanId=")
                .append(shipmentPlanId)
                .append(",purchaseId=")
                .append(purchaseId)
                .append(",purchaseNo=")
                .append(purchaseNo)
                .append(",productId=")
                .append(productId)
                .append(",productNo=")
                .append(productNo)
                .append(",specNo=")
                .append(specNo)
                .append(",normExplain=")
                .append(normExplain)
                .append(",chineseName=")
                .append(chineseName)
                .append(",englishName=")
                .append(englishName)
                .append(",chineseDesc=")
                .append(chineseDesc)
                .append(",englishDesc=")
                .append(englishDesc)
                .append(",unit=")
                .append(unit)
                .append(",colour=")
                .append(colour)
                .append(",amount=")
                .append(amount)
                .append(",proportionFinishedProducts=")
                .append(proportionFinishedProducts)
                .append(",partsFinishedProducts=")
                .append(partsFinishedProducts)
                .append(",accessoryCostPrice=")
                .append(accessoryCostPrice)
                .append(",priceSubtotal=")
                .append(priceSubtotal)
                .append(",untaxedPrice=")
                .append(untaxedPrice)
                .append(",untaxedPriceSubtotal=")
                .append(untaxedPriceSubtotal)
                .append(",grossWeight=")
                .append(grossWeight)
                .append(",grossSubtotal=")
                .append(grossSubtotal)
                .append(",netWeight=")
                .append(netWeight)
                .append(",netSubtotal=")
                .append(netSubtotal)
                .append(",volume=")
                .append(volume)
                .append(",trayNumber=")
                .append(trayNumber)
                .append(",trayCapacity=")
                .append(trayCapacity)
                .append(",numberOfPiece=")
                .append(numberOfPiece)
                .append(",salesContractNo=")
                .append(salesContractNo)
                .append(",qty=")
                .append(qty)
                .append(",payTime=")
                .append(payTime)
                .append(",costPrice=")
                .append(costPrice)
                .append(",costPriceSubtotal=")
                .append(costPriceSubtotal)
                .append(",wholeCostPrice=")
                .append(wholeCostPrice)
                .append(",price=")
                .append(price)
                .append(",supplierCode=")
                .append(supplierCode)
                .append(",supplierName=")
                .append(supplierName)
                .append(",customerContractNo=")
                .append(customerContractNo)
                .append(",exportContractNo=")
                .append(exportContractNo)
                .append(",outPackLength=")
                .append(outPackLength)
                .append(",outPackWidth=")
                .append(outPackWidth)
                .append(",outPackHeight=")
                .append(outPackHeight)
                .append(",outPackSize=")
                .append(outPackSize)
                .append(",outPackNum=")
                .append(outPackNum)
                .append(",img=")
                .append(img)
                .append(",type=")
                .append(type)
                .append(",customerInvoiceGoodsName=")
                .append(customerInvoiceGoodsName)
                .append(",customerInvoiceSpecModel=")
                .append(customerInvoiceSpecModel)
                .append(",customerMaterialsCode=")
                .append(customerMaterialsCode)
                .append(']');
        return sb.toString();
    }
}